package main

import "fmt"

func operateSlice() {
	numbers := []int{1, 2, 3}
	fmt.Println(len(numbers), cap(numbers)) // 3  3
	numbers = append(numbers, 2)
	fmt.Println(len(numbers), cap(numbers)) // 4 6
}
func main() {
	// slice四种声明方式
	//1. var variable []type  可以定义切片 此时切片是一个空[] 没有len 没有cap
	var slice1 []int
	fmt.Println(slice1)
	if slice1 == nil {
		fmt.Println("is nil")
	}
	// 2. 通过make函数来定义切片 参数1是切片的长度 参数2是切片的容量
	slice2 := make([]int, 5) //默认五个元素都是0
	fmt.Println(slice2)

	// 3.
	var slice3 []int = make([]int, 3)
	fmt.Println(slice3)
	slice4 := []int{1, 2, 3}
	fmt.Println(slice4)

	// slice 操作
	operateSlice()

}
